Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

lil-uri

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lil-uri

Tiny URI parser and builder with chainable API

  • 0.2.2
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
2.5K
decreased by-16.2%
Maintainers
1
Weekly downloads
 
Created
Source

lil'-uri Build Status Stories in Ready Code Climate Gitter chat

URI parser and builder with semantic API

Nameuri
Version0.2.2
Size3 KB / 1 KB (gzipped)
EnvironmentNode, Browser

Features

  • URI parsing
  • URI builder
  • RFC 3986 compliant
  • Full and partial URI support
  • Automatic query mapping values
  • Support for special characters decoding

Installation

Node.js
npm install lil-uri
Browser

Via Bower

bower install lil-uri

Via Component

component install lil-js/uri

Or loading the script remotely

<script src="//cdn.rawgit.com/lil-js/uri/0.2.2/uri.js"></script>

Environments

Cross-browser support guaranteed running tests in BrowserStack

  • Node.js
  • Chrome >= 5
  • Firefox >= 3
  • Safari >= 5
  • Opera >= 10
  • IE >= 9

Usage

You could fetch de module via require() if it's available. Otherwise, global fallback will be used, exposed via lil.uri

var uri = require('lil-uri')
Parser
var url = uri('http://user:pass@example.com:8080/bar/foo.xml?foo=bar&hello=world&#hash=1')
url.protocol() // -> http
url.host() // -> example.com:8080
url.hostname() // -> example.com
url.port() // -> 8080
url.auth() // -> { user: 'user', password: 'pass' }
url.user() // -> user
url.password() // -> pass
url.path() // -> /bar/foo.xml
url.search() // -> foo=bar&hello=world
url.query() // -> { foo: 'bar', hello: 'world' }
url.hash() // -> hash=1
Builder
uri()
  .protocol('https')
  .host('example.com')
  .port('8080')
  .auth('user:pass')
  .path('/bar/foo.xml')
  .query({ foo: 'bar', hello: 'world' })
  .hash('hash=1')
  .build() // -> http://@example.com:8080/bar/foo.xml?foo=bar&hello=world&#frament=1

API

uri([ uri ])
uri#protocol([ protocol ])
uri#host([ host ])
uri#hostname([ hostname ])
uri#port([ port ])
uri#auth([ auth ])
uri#user([ user ])
uri#password([ password ])
uri#path([ path ])
uri#search([ search ])
uri#query([ query ])
uri#hash([ fragment ])
uri#build()
uri#parse(uri)
uri.isURL(str)
uri.is(url)
uri.URI(uri)
uri.VERSION

Contributing

Wanna help? Cool! It will be appreciated :)

You must add new test cases for any new feature or refactor you do, always following the same design/code patterns that already exist

Development

Only node.js is required for development

Clone the repository

$ git clone https://github.com/lil-js/uri.git && cd uri

Install dependencies

$ npm install

Generate browser bundle source

$ make browser

Run tests

$ make test

License

MIT © Tomas Aparicio

Keywords

FAQs

Package last updated on 05 Jul 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc